package task1;

import sun.swing.SwingUtilities2;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.StreamCorruptedException;

/**
 * @author Administrator
 * 用Java代码实现，在当前目录创建一个example.txt文件，往example.txt文件写入“我爱Java！”，在磁盘上查看是否写入成功。
然后通过Java代码查看example.txt文件内容。
继续往该文件追加内容“我真的爱Java”，并查看文件内容。
 */
public class Task6_1 {
    public static void main(String[] args) throws Exception{
/*FileOutputStream写文件步骤：
* 1）创建字节输出流对象
*    构造方法FileOutputStream("fos.txt")写入新数据，会覆盖原有数据
*    构造方法FileOutputStream("fos.txt"，true)文件内容之后追加新内容;
* 2）调用write()方法写数据
*    write(int b):写一个字节
*    write(byte[] b):写一个字节数组
* 3）调用close()方法释放资源 */

        //往文件写数据
        FileOutputStream fos=new FileOutputStream("example.txt");
        String s="我爱Java!";
        byte[] b=s.getBytes();
        fos.write(b);
        fos.close();


/* FileInputStream读取文件步骤：
*  1）创建字节输入流对象
*  2）调用read()方法读取数据
*     int read():一次读取一个字节
*     int read(byte[] b):一次读取一个字节数组
*  3）调用close()方法释放资源*/

        //读取数据
        FileInputStream fis=new FileInputStream("example.txt");
        //一次读取一个字节数组
        byte[] bys=new byte[1024];
        int len=0;
        while ((len=fis.read(bys))!=-1){
            String s1=new String(bys,0,len);
            System.out.println();
        }
        fis.close();

        //往文件追加数据
        FileOutputStream fos2=new FileOutputStream("example.txt",true);
        String s2="\r\n真的";
        fos2.write(s2.getBytes());
        fos2.close();

        //读取数据
        FileInputStream fis2=new FileInputStream("example.txt");
        byte[] bys2=new byte[1024];
        int len2=0;
        while ((fis2.read(bys2))!=-1){
            System.out.println(new String(bys2,0,len2));
        }
        fis2.close();
    }
}
